﻿// MyContext.cpp : 定义控制台应用程序的入口点。
//

#include "ssContext.h"
#include "ssContextSchedule.h"
#include <stdio.h>

using namespace std;
using namespace StarSeeker;

int main()
{
/*#ifdef SS_USE_WINDOWS
	void* pmain = ConvertThreadToFiber(0);
#else
	ucontext_t mainContext;
//	void* pmain = &mainContext;
	//getcontext(&mainContext);
#endif
	ssContext* context1 = new ssContext();
	ssContext* context2 = new ssContext();
	context1->Create(&mainContext, 102400);
	context2->Create(&mainContext, 102400);
	context1->Run();
	context2->Run();
	printf("main1\n");
	context1->Run();
	context2->Run();
	printf("main2\n");
#ifdef SS_USE_WINDOWS
	ConvertFiberToThread();
#endif*/

	ssContextSchedule schedule;
	ssContext* context1 = new ssContext();
	ssContext* context2 = new ssContext();
	ssContext* context3 = new ssContext();
	schedule.AddContext(context1, 102400);
	schedule.AddContext(context2, 102400);
	schedule.RunFrame();
	printf("main1\n");
	schedule.RunFrame();
	//context2->Stop();
	printf("main2\n");
	schedule.AddContext(context3, 102400);
	schedule.RunFrame();
	printf("main3\n");

//	schedule.RunLoop();
//	printf("main1\n");
    return 0;
}
